package com.squirrel.michale;



/**
 * @author guanhao 观浩
 * @version 1.0.0.0
 * @createTime 2023/2/27 9:21 PM
 * @company Michale Squirrel
 * @link
 * @description
 */
public class LeetCode1325 {


    public TreeNode removeLeafNodes(TreeNode root, int target) {
        if(root==null)
            return null;
        return dfs(root,target);
    }

    public TreeNode dfs(TreeNode node, int target){
        if(node==null)
            return null;
        //对左右子树进行操作
        TreeNode left=dfs(node.left,target);
        TreeNode right=dfs(node.right,target);
        node.left=left;
        node.right=right;
        //对节点进行操作
        if(node.left==null&&node.right==null&&node.val==target)
            return null;
        return node;
    }

//    作者：Sagittarius
//    链接：https://leetcode.cn/problems/delete-leaves-with-a-given-value/solutions/423926/java-shu-de-hou-xu-bian-li-xiang-guan-wen-ti-by-sa/
//    来源：力扣（LeetCode）
//    著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。
}
